package com.competitions.videoedithelper.service;

import com.competitions.videoedithelper.entity.ResponseModel;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;

/**
 * @author 盛旭雯
 */
public interface VideoInfoService {
    /**
     * 插入新视频
     * @param multipartFile 视频文件
     * @param cusName 用户定义视频名称
     * @param uploadUserId 上传用户id
     * @return 返回ResponseModel
     */
    ResponseModel uploadVideo(
            MultipartFile multipartFile,
            String cusName,
            int uploadUserId
    );

    /**
     * 查找某用户上传的视频
     * @param resp http响应
     * @param userId 用户id
     * @param pageNum 第几页
     * @param pageSize 页的大小
     */
    void selectVideos(
            HttpServletResponse resp,
            int userId,
            int pageNum,
            int pageSize
    );

    /**
     * 查找视频
     * @param videoId 视频id
     * @return ResponseModel
     */
    ResponseModel selectVideo(int videoId);

    /**
     * 删除视频
     * @param videoId 视频id
     * @return ResponseModel
     */
    ResponseModel deleteVideo(int videoId);

    /**
     * 查询某个视频的所有操作记录
     * @param videoId 视频id
     * @return ResponseModel
     */
    ResponseModel selectHistory(int videoId);

    /**
     * 查询某用户上传历史
     * @param userId 用户id
     * @return 结果
     */
    ResponseModel selectCreated(int userId);

    /**
     *查询某用户历史修改统计
     * @param userId 用户id
     * @return 统计结果
     */
    ResponseModel selectEdited(int userId);
}
